package com.fjnu.dao;

import com.fjnu.entity.User;

import java.util.List;

/**
 * @desc:
 * Todo:根据如下UserDao的定义，在UserDaoImpl中完成各方法的实现
 * @author:
 * @date:
 */

public interface UserDao {

    public int insert(User user) ;
    public int delete(String userId) ;

    /**
     * 根据id来修改用户信息，可以考虑仅修改 nickname, email, phone, status,注意
     * updateTime也要进行对应更新。
     * @param userId
     * @param newUser
     * @return
     */
    public int updateById(String userId, User newUser) ;
    public int updatePasswordById(String userId, String oldPassword,
                                  String newPassword) ;

    public User selectById(String userId) ;

    /**
     * 根据用户名和密码查询用户信息，主要用于登录验证
     * @param username
     * @param password
     * @return
     */
    public User selectByUsernameAndPassword(String username, String password) ;

    /**
     * 统计所有用户数量。
     * @return
     */
    public int selectCount() ;



}
